/***********************************************************************
 * Module:  Radnik.java
 * Author:  Igor Spremo, Milan Stojkov
 * Purpose: Defines the Class Radnik
 ***********************************************************************/

package model.entity;

import java.io.Serializable;
import java.sql.Date;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;

/**
 * 
 * @author Igor Spremo, Milan Stojkov
 *
 */

@SuppressWarnings("serial")
public class Radnik implements Serializable {
	
	protected Integer id;
	protected String ime;
	protected String prezime;
	protected String brojLicneKarte;
	protected String email;
	protected boolean osobaZaKontakt;
	protected short prekovremeniSati;
	protected Date datumZaposlenja;
	protected short napravioSkarta;
	protected short preostaliSlobodniDani;
	protected Date verskaSlava;
	protected String kadar;
	protected int verzija;

	protected Collection<Telefon> telefoni;

	
	
	public Collection<Telefon> getTelefoni() {
		if (telefoni == null)
			telefoni = new HashSet<Telefon>();
		
		return telefoni;
	}

	public Iterator<Telefon> getIteratorTelefoni() {
		if (telefoni == null)
			telefoni = new HashSet<Telefon>();
		
		return telefoni.iterator();
	}

	public void setTelefoni(Collection<Telefon> newTelefoni) {
		removeAllTelefoni();
		for (Iterator<Telefon> iter = newTelefoni.iterator(); iter.hasNext();)
			addTelefon((Telefon) iter.next());
	}

	public void addTelefon(Telefon newTelefon) {
		if (newTelefon == null)
			return;
		if (this.telefoni == null)
			this.telefoni = new HashSet<Telefon>();
		if (!this.telefoni.contains(newTelefon))
			this.telefoni.add(newTelefon);
	}

	public void removeTelefon(Telefon oldTelefon) {
		if (oldTelefon == null)
			return;
		if (this.telefoni != null)
			if (this.telefoni.contains(oldTelefon))
				this.telefoni.remove(oldTelefon);
	}

	public void removeAllTelefoni() {
		if (telefoni != null)
			telefoni.clear();
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getIme() {
		return ime;
	}

	public void setIme(String ime) {
		this.ime = ime;
	}

	public String getPrezime() {
		return prezime;
	}

	public void setPrezime(String prezime) {
		this.prezime = prezime;
	}

	public String getBrojLicneKarte() {
		return brojLicneKarte;
	}

	public void setBrojLicneKarte(String brojLicneKarte) {
		this.brojLicneKarte = brojLicneKarte;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public boolean isOsobaZaKontakt() {
		return osobaZaKontakt;
	}

	public void setOsobaZaKontakt(boolean osobaZaKontakt) {
		this.osobaZaKontakt = osobaZaKontakt;
	}

	public short getPrekovremeniSati() {
		return prekovremeniSati;
	}

	public void setPrekovremeniSati(short prekovremeniSati) {
		this.prekovremeniSati = prekovremeniSati;
	}

	public Date getDatumZaposlenja() {
		return datumZaposlenja;
	}

	public void setDatumZaposlenja(Date datumZaposlenja) {
		this.datumZaposlenja = datumZaposlenja;
	}

	public short getNapravioSkarta() {
		return napravioSkarta;
	}

	public void setNapravioSkarta(short napravioSkarta) {
		this.napravioSkarta = napravioSkarta;
	}

	public short getPreostaliSlobodniDani() {
		return preostaliSlobodniDani;
	}

	public void setPreostaliSlobodniDani(short preostaliSlobodniDani) {
		this.preostaliSlobodniDani = preostaliSlobodniDani;
	}

	public Date getVerskaSlava() {
		return verskaSlava;
	}

	public void setVerskaSlava(Date verskaSlava) {
		this.verskaSlava = verskaSlava;
	}

	public String getKadar() {
		return kadar;
	}

	public void setKadar(String kadar) {
		this.kadar = kadar;
	}

	public int getVerzija() {
		return verzija;
	}

	public void setVerzija(int verzija) {
		this.verzija = verzija;
	}

}